洛谷 P1318 积水面积
链接
https://www.luogu.org/problem/P1318
题目
题目描述
一组正整数,分别表示由正方体叠起的柱子的高度。若某高度值为x,表示由x个正立方的方块迭起(如下图,0<=x<=5000)。找出所有可能积水的地方(图中蓝色部分),统计它们可能积水的面积总和(计算的是图中的横截面积。一个立方体的位置,为一个单位面积)。
如图:柱子高度变化为 0 1 0 2 1 2 0 0 2 0
图中蓝色部分为积水面积,共有6个单位面积积水。
输入格式
两行,第一行n,表示有n个数(3<=n<=10000)。第2行连续n个数表示依次由正方体迭起的高度,保证首尾为0。
输出格式
一个数,可能积水的面积。
输入输出样例
输入 #1
1 | 10 |
输出 #1
1 | 6 |
思路
我的思路是左右向中间,从下往上。
首先输入,找到最大值,之后从1开始循环,这个j是高度的意思,left和right就是左右达到这个高度的最前一个,之后添加数字,直接判断大小就行,到最后一个结束,输出结果。
(最近心态不好,人很迷茫,估计骚话环节也没了,以上)
代码
1 |
|